/*use([], function() {
	
})*/
layui.config({
	base: './static/javascript/',
}).use(['inputTags','laytpl','form','layer', 'jquery'], function(){
	var laytpl = layui.laytpl;
	var form = layui.form;	
	var $ = layui.$;
    var layer = layui.layer
	var testEditor ;
    var inputTags = layui.inputTags;
	//接收上一个页面的传值
	function getQueryVariable(variable){
	    var query = window.location.search.substring(1);
	    var vars = query.split("&");
	    for (var i=0;i<vars.length;i++) {
	        var pair = vars[i].split("=");
	        if(pair[0] == variable){return pair[1];}
	    }
	    return(false);
	}
	function initContent(code){
		testEditor = editormd("editormd", {
            width: "100%",
            height  : 740,
            path : 'static/editormd/lib/',
            theme : "default",
            previewTheme : "default",
            editorTheme : "default",
            markdown : code,             // 初始化编辑区的内容
            codeFold : true,
            //syncScrolling : false,
            saveHTMLToTextarea : true,    // 保存 HTML 到 Textarea
            searchReplace : true,
            //watch : false,                // 关闭实时预览
            htmlDecode : "style,script,iframe|on*",            // 开启 HTML 标签解析，为了安全性，默认不开启
            //toolbar  : false,             //关闭工具栏
           	//previewCodeHighlight : false, // 关闭预览 HTML 的代码块高亮，默认开启
            emoji : true,
            taskList : true,
            tocm            : true,         // Using [TOCM]
            tex : true,                   // 开启科学公式TeX语言支持，默认关闭
            flowChart : true,             // 开启流程图支持，默认关闭
            sequenceDiagram : true,       // 开启时序/序列图支持，默认关闭,
            //dialogLockScreen : false,   // 设置弹出层对话框不锁屏，全局通用，默认为true
            //dialogShowMask : false,     // 设置弹出层对话框显示透明遮罩层，全局通用，默认为true
            //dialogDraggable : false,    // 设置弹出层对话框不可拖动，全局通用，默认为true
            //dialogMaskOpacity : 0.4,    // 设置透明遮罩层的透明度，全局通用，默认值为0.1
            //dialogMaskBgColor : "#000", // 设置透明遮罩层的背景颜色，全局通用，默认为#fff
            imageUpload : true,
            imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
            imageUploadURL : "../file/upload", // 文件上传路径，返回值为图片加载的路径
            onload : function() {
                // 加载后富文本编辑器成功后的回调
                console.log('onload', this);
                //this.fullscreen();
                //this.unwatch();
                //this.watch().fullscreen();

                //this.setMarkdown("#PHP");
                //this.width("100%");
                //this.height(480);
                //this.resize("100%", 640);

                /* // 异步请求md文件，用于编辑时的数据回显
                $.get('test.md', function(md) {
                	console.log(md)
                    testEditor.setMarkdown(md);
                }); */
            }
        });
	}
	function initData(id,data,getTpl){
		view = document.getElementById(id);
		laytpl(getTpl).render(data, function(html){
		  view.innerHTML = html;
		});
	}
	var dat = {'data':{ //数据
		  "id": 0,
		  "avatar":"./static/images/unLogin.png"
		  ,"name":	"未登录"
}}
	function loadCategory(typeId){
		//加载分类
        $.ajax({
            type: "GET",
            url: "http://127.0.0.1:8080/blog/category/categoryTypeList",
            success: function (data) {   
            	var res = { //数据
				  "data":{'categoryList':[
					  {
						  'id':1,
						  content:'PHP'
						  },
					  {
						  'id':2,
						  content:'Java'}
				]}}
            	var rs = JSON.parse(data);
            	console.log(rs.data.data)
            	var getTpl = category.innerHTML
            	if(rs.data!=null){
            		initData('categoryList',rs.data.data,getTpl);
            	}else{
            		initData('categoryList',res.data.data,getTpl);
            	}
            	$("#categorySelect").empty();
                $("#categorySelect").append(new Option("请选择", ""));
                $.each(rs.data.data.list, function(index, item) {
                    $('#categorySelect').append(new Option(item.content,item.id));
                });
                $('#categorySelect').val(typeId)
            	layui.form.render("select");
            	layui.data('category', {
            		  key: 'categoryList'
            		  ,value: rs.data.data.list
            		});
            }
        });
	}
	 function intiKMInfo() {
			var user = layui.sessionData('user');
			if(user == null || user == undefined ||$.isEmptyObject(user)){
				window.location.href="./index.html"
				user = dat;
				$('#edit').addClass('layui-hide')
			}
			var getTpl = person.innerHTML
			initData('account',user,getTpl);
			
          //加载文章
          var id = getQueryVariable("id");
          console.log(id);
          var that = this;
       	  var code = '';
          if(id!=false){
        	  $.ajax({
                  type: "GET",
                  url: "http://127.0.0.1:8080/blog/article/article",
                  data:{
                  	'id': id
                  },
                  success: function (data) {
                  	var rs = JSON.parse(data);
                  	console.log(rs)
 
                  	if(rs.code==200){
                    	var title =  rs.data.data.title;
                    	var labels = {data:rs.data.data.labelVos};
                    	var typeId = rs.data.data.categoryVo.typeId
                    	code = rs.data.data.code
                    	console.log(labels);
                    	$('#title').val(title);
                    	var tags = [];
                    	layui.each(labels.data,function(index,item){
                    		tags.push(item.content)
                    	})
                    	inputTags.render({
							elem: '#inputTags', //定义输入框input对象
							content: tags, //默认标签
							aldaBtn: false, //是否开启获取所有数据的按钮
							done: function(value) { //回车后的回调
								console.log("刚刚输入标签===="+value)
							}
						})
						loadCategory(typeId);
                  	}else{
                  		code = '';
                  		loadCategory();
                  	}
                  	initContent(code);
                  }
              }); 
          }else{
        	  initContent(code);
        	  loadCategory();
        	  inputTags.render({
					elem: '#inputTags', //定义输入框input对象
					content: [], //默认标签
					aldaBtn: false, //是否开启获取所有数据的按钮
					done: function(value) { //回车后的回调
						console.log("刚刚输入标签===="+value)
					}
				})
          }
            
        }
		intiKMInfo();
        $('#showEditor').on('click', function(){
            // 弹出框
            layer.open({
                type: 1
                ,content: $('#myeditor')
                ,btn: '关闭全部'
                ,btnAlign: 'c' //按钮居中
                ,shade: 0 //不显示遮罩
                ,area: ['100%', '580px']
                ,yes: function(){
                    layer.closeAll();
                },
                success:function () {
                    testEditor = editormd("test-editormd", {
                        width: "90%",
                        height: 740,
                        path : 'static/editormd/lib/',
                        theme : "default",
                        previewTheme : "default",
                        editorTheme : "default",
                        //markdown : md,             // 初始化编辑区的内容
                        codeFold : true,
                        //syncScrolling : false,
                        saveHTMLToTextarea : true,    // 保存 HTML 到 Textarea
                        searchReplace : true,
                        watch : true,                // 关闭实时预览
                        htmlDecode : "style,script,iframe|on*",            // 开启 HTML 标签解析，为了安全性，默认不开启
                        //toolbar  : false,             //关闭工具栏
                        //previewCodeHighlight : false, // 关闭预览 HTML 的代码块高亮，默认开启
                        emoji : true,
                        taskList : true,
                        tocm            : true,         // Using [TOCM]
                        tex : true,                   // 开启科学公式TeX语言支持，默认关闭
                        flowChart : true,             // 开启流程图支持，默认关闭
                        sequenceDiagram : true,       // 开启时序/序列图支持，默认关闭,
                        //dialogLockScreen : false,   // 设置弹出层对话框不锁屏，全局通用，默认为true
                        //dialogShowMask : false,     // 设置弹出层对话框显示透明遮罩层，全局通用，默认为true
                        //dialogDraggable : false,    // 设置弹出层对话框不可拖动，全局通用，默认为true
                        //dialogMaskOpacity : 0.4,    // 设置透明遮罩层的透明度，全局通用，默认值为0.1
                        //dialogMaskBgColor : "#000", // 设置透明遮罩层的背景颜色，全局通用，默认为#fff
                        imageUpload : true,
                        imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
                        imageUploadURL : "../file/upload", // 文件上传路径，返回值为图片加载的路径
                        onload : function() {
                            // 加载后富文本编辑器成功后的回调
                            console.log('onload', this);
                            //this.fullscreen();
                            //this.unwatch();
                            //this.watch().fullscreen();

                            //this.setMarkdown("#PHP");
                            //this.width("100%");
                            //this.height(480);
                            //this.resize("100%", 640);

                            // 异步请求md文件，用于编辑时的数据回显
                            $.get('test.md', function(md) {
                            	console.log(md)
                                testEditor.setMarkdown(md);
                            });
                        }
                    });
                }
            });
        });
        // 获取markdown源码
        $('#getMarkdownContent').on('click', function () {
            var mdContent = $('.editormd-markdown-textarea').val();
            console.log(mdContent);
            var content = testEditor.getMarkdown();
            console.log(content);
        });
        // 获取解析后的html
        $('#getHtmlContent').on('click', function () {
            var content = testEditor.getHTML();

            console.log(content);
        });
		
        // 页面解析markdown为html进行显示
        $('#showHTML').on('click', function () {
            // 模拟从数据库中取内容
            $.get('test.md', function(md) {
                // 给textarea赋值
                $('#content').val(md);
                // 解析
                editormd.markdownToHTML("markdownToHTML", {
                    htmlDecode      : "style,script,iframe",
                    emoji           : true,  // 解析表情
                    taskList        : true,  // 解析列表
                    tex             : true,  // 默认不解析
                    flowChart       : true,  // 默认不解析
                    sequenceDiagram : true  // 默认不解析
                });
            });
        });
        
        $('#addArticle').on('click',function(){
        	var title = $('#title').val()
        	var labels = [];
        	$("div#tags span em").each(function(index,item){
        	     console.log(item.innerText);
         		labels[index]={content: item.innerText}
        	})
        	var category = {'typeId': $('#categorySelect').val()}
        	var code = $('.editormd-markdown-textarea').val();
        	var content = testEditor.getHTML();
        	if($.isEmptyObject(title) || $.isEmptyObject(labels) || $.isEmptyObject(category) || $.isEmptyObject(code) || $.isEmptyObject(content)){
        		layer.msg("请输入完整数据！");
        		return false;
        	}
        	var data = {
		        		'title': title,
		        		'code': code,
		        		'content': content,
		        		'labelVos': labels,
		        		'categoryVo': category,
		        		'author': layui.sessionData("user").data.name,
		        		'userId' : layui.sessionData("user").data.id
        				}
        	 var id = getQueryVariable("id");
        	if(id!=false) data.id=id;
        	console.log(data)
        	console.log(JSON.stringify(data))
        	$.ajax({
    	        type: "POST",
    	        contentType:"application/json;charset=utf-8",
    	        url: "http://127.0.0.1:8080/blog/article/article",
    	        data:JSON.stringify(data),
    	        success: function (data) {
    	        	var rs = JSON.parse(data);
    	        	console.log(rs)
    	        	if(rs.code == 200){
    	        		layer.msg("保存成功！")
        	        	window.location.href="./article.html?id="+rs.data.id
    	        	}
    	        	
    	        }
       		 }); 
        });
        $('#logout').on('click',function(){
        	layui.sessionData('user',{
        		key:'data',
        		remove: true
        	})
        	layer.msg("注销成功！")
        	window.location.href="./index.html"
        })
    });